home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1995 November / EnigmA AMIGA RUN 02 (1995)(G.R. Edizioni)(IT)[!][issue 1995-11][Skylink CD].iso / earcd / unix / lhaunixb.readme < prev    next >
Text File  |  1994-10-20  |  1KB  |  59 lines

  1. Short:    Patch for Unix-LhA on DECstations
  2. Uploader: wiedmann@mailserv.zdv.uni-tuebingen.de
  3. Type:     misc/unix
  4.  
  5. Unix-LhA on DECstations has a bug when archiving directories recursively.
  6. The reason is a problem in C with char vs. unsigned char. The problem is
  7. fixed, if you replace the function call
  8.  
  9.     rindex(.., DELIM2)
  10.  
  11. with
  12.  
  13.     rindex(.., (char) DELIM2)
  14.  
  15. in src/header.c three times. I include a patchfile below.
  16.  
  17. Jochen
  18.  
  19.  
  20.  
  21. *** lha-1.00.orig/src/header.c    Thu Apr  9 16:43:14 1992
  22. --- lha-1.00/src/header.c    Wed Nov 10 09:01:29 1993
  23. ***************
  24. *** 701,705 ****
  25. --- 701,709 ----
  26.     if (hdr->header_level != HEADER_LEVEL2)
  27.       {
  28. + #ifndef ultrix
  29.         if (p = (char *)rindex(hdr->name, DELIM2))
  30. + #else
  31. +       if (p = (char *)rindex(hdr->name, (char) DELIM2))
  32. + #endif    
  33.       name_length = strlen(++p);
  34.         else
  35. ***************
  36. *** 745,749 ****
  37. --- 749,757 ----
  38.         put_word(hdr->unix_gid);
  39.         put_word(hdr->unix_uid);
  40. + #ifndef ultrix
  41.         if (p = (char *)rindex(hdr->name, DELIM2))
  42. + #else
  43. +       if (p = (char *)rindex(hdr->name, (char) DELIM2))
  44. + #endif
  45.       {
  46.         int i;
  47. ***************
  48. *** 770,774 ****
  49. --- 778,786 ----
  50.       {
  51.         int i;
  52. + #ifndef ultrix
  53.         if (p = (char *)rindex(hdr->name, DELIM2))
  54. + #else
  55. +       if (p = (char *)rindex(hdr->name, DELIM2))
  56. + #endif
  57.           name_length = strlen(++p);
  58.         else
  59.